# 题目：将一个正整数分解质因数。例如：输入90,打印出90=2*3*3*5。
"""
程序分析：对n进行分解质因数，应先找到一个最小的质数k，然后按下述步骤完成：
(1)如果这个质数恰等于n，则说明分解质因数的过程已经结束，打印出即可。
(2)如果n<>k，但n能被k整除，则应打印出k的值，并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除，则用k+1作为k的值,重复执行第一步。
"""

print("**********分解质因数**********")
n = int(input("请输入一个正整数n:"))
print("%d = " % n, end="")  # 格式化等式左端
while not isinstance(n, int) or n <= 0:  # 判断输入是否是正整数
    n = int(input("请输入一个正整数:"))
if n == 1:
    print(n)
while n not in [1]:
    for i in range(2, n + 1):
        if n % i == 0:  # 找到第一个质数
            n = n // i  # 将分解后的数作为下一次循环的数,//返回的是整数,/返回的是浮点型
            # n = int(n)
            if n == 1:
                print(i)  # 最后分解出来的因子
            else:
                print("%d *" % i, end=" ")
            break  # 找到一个最小的因子之后跳出循环进入下一次查找
